1. Technical Field
The present invention is directed to an apparatus, system and method for detecting old versions of an applet in a client browser's Java™ Virtual Machine (JVM). In particular, the present invention provides a mechanism by which old versions of an applet are identified and a determination is made as to whether the applet is still functional with the server or needs to be updated.
2. Description of Related Art
An applet is a program written in the Java programming language which can be included in HyperText Markup Language (HTML) pages much in the same way an image is included. Applets provide functionality to Web pages for providing users with information, entertainment, and for gathering information from users.
When a user employs a Java technology enabled browser in his/her client device to view a web page that contains an applet, the applet's bytecode is transferred to the client device's browser system and executed by the browser's Java Virtual Machine (JVM). Typically, a browser will cache the Java classes which make up an applet. This becomes a problem when a developer updates and deploys the Java code on the server that makes up the applet. The problem arises in that the cached version of the applet in the client JVM may not be compatible with the updated Java code on the server.
In such a case, a two principal situations may arise. First, if the developer has added any new classes in this updated Java code, the older cached Java classes will not work with these new Java classes. In this case the applet will halt with an exception.
The details of such an exception can be seen clearly in the Java Console of the browser. However, most end users are lay people and are not able to understand what happened to cause the exception. As a result, the end user may become frustrated, thereby creating a customer satisfaction issue.
To resolve this customer satisfaction issue, the end user typically will either abandon their efforts on the web page and search elsewhere or will contact a customer support representative. In the latter case, resolving this issue takes up customer support time because the support representative must recreate the user scenario and then guide the user in clearing the cached Java classes.
Clearing the cached Java classes is not a simple operation. Just clearing the regular browser cache does not clear the cached Java classes in the JVM. Furthermore, the two most popular browsers, Netscape Communicator™ and Microsoft Internet Explorer™, have different procedures to clear the cached classes.
Even if no new classes were added in the updated Java code, if a database transaction message format with the host server was changed by the update to the Java code, then the cached applet will have problems communicating with the host server. As a result, the user will experience a number of communication errors which again results in a customer satisfaction and support issue.
Thus, it would be beneficial to have an apparatus, system and method for detecting old versions of an applet in a client browser's JVM. It would further be beneficial to have an apparatus, system and method that identifies old versions of an applet and a determines whether the applet is still functional with the host server or needs to be updated.